/**
 * @author Linda
 * @time 2022-12-20 10:00 AM
 * @description 定义全局助手类方法
 */

import { AES, MD5, enc } from 'crypto-js'

/**
 * 对称加密方法
 * @param {String} msg 需要加密的字符串
 * @returns String 加密后的数据
 */
export function enCodeApi(msg) {
    return AES.encrypt(msg, '').toString()
}

export function deCodeApi(msg) {
    return AES.decrypt(msg, '').toString(enc.Utf8)
}

// 加密
export function md5Api(msg) {
    return MD5(msg).toString()
}

// 文件上传
/**
 * @params {Function} cb 结果回调函数
 * @params {Boolean} multiple 是否允许多选
 * *params {String} accept 选择文件的类型
*/
export function filePicker( accept = 'image/*', multiple = true, cb) {
    let input = document.createElement('input')
    input.setAttribute('type','file')
    input.setAttribute('accept', accept)
    if(multiple) {
        input.setAttribute('multiple','multiple')
    }
    input.onchange = function() {
        let files = this.files
        if( !!cb && typeof cb === 'function') {
            cb(files)
        }
    }
    input.click()
}